<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  var arr = [2, 8, 4, 6, 5, 7, 9, 3, 1];

  var obj = arr.keys();   // 调用方法 得到一个键名 生成器对象/遍历器对象
  var obj = arr.values();  // 调用方法 得到一个键值 生成器对象/遍历器对象
  var obj = arr.entries();  // 调用方法 得到一个[键名,键值] 生成器对象/遍历器对象
  console.log(obj);

  // var result = obj.next();
  // console.log(result);
  // var result = obj.next();
  // console.log(result);
  // var result = obj.next();
  // console.log(result);
  // var result = obj.next();
  // console.log(result);
  // var result = obj.next();
  // console.log(result);
  // var result = obj.next();
  // console.log(result);
  // var result = obj.next();
  // console.log(result);
  // var result = obj.next();
  // console.log(result);
  // var result = obj.next();
  // console.log(result);
  // var result = obj.next();
  // console.log(result);

  // for(var key of obj){
  //     console.log(key);
  // }


  var arr = [2, 8, 4, 6, 5, 7, 9, 3, 1];
  var s = new Set(arr);
  console.log(s);
  // !!!! set 没有键名  或者说键名键值都是同一个

  // var obj = s.keys();   // 调用方法 得到一个键名 生成器对象/遍历器对象
  // var obj = s.values();  // 调用方法 得到一个键值 生成器对象/遍历器对象
  // var obj = s.entries();  // 调用方法 得到一个[键名,键值] 生成器对象/遍历器对象
  // console.log(obj);

  // for(var val of obj){
  //     console.log(val);
  // }

  var list = [[100, 200], ["hello", "world"], [true, false], [null, undefined]];
  var m = new Map(list);
  console.log(m);

  var obj = m.keys();   // 调用方法 得到一个键名 生成器对象/遍历器对象
  var obj = m.values();  // 调用方法 得到一个键值 生成器对象/遍历器对象
  var obj = m.entries();  // 调用方法 得到一个[键名,键值] 生成器对象/遍历器对象
  // console.log(obj);

  for (var val of obj) {
    console.log(val);
  }






</script>

</html>